// pages/profile/index.ts
Page({

  /**
   * 页面的初始数据
   */
  data: {
    user: {
      name: '',
      photo: ''
    }
  },
  // 获取昵称
  async getName(e) {
    console.log('获取微信昵称：', e.detail.value)
    /**
     * 1. 调用后台接口存储到数据库
     * 2. 存到 data 中
     */
    await wx.http.put('/userInfo', { nickName: e.detail.value })
    this.setData({
      'user.name': e.detail.value
    })
  },
  // 获取头像
  async getUserAvatar(e) {
    console.log('头像：', e.detail.avatarUrl)
    /**
     * 1. 调用后台接口存储到数据库
     * 2. 存储头像到 data
     */
    // wx.uploadFile({
    //   url: `${wx.baseUrl}/upload`, // 上传地址
    //   filePath: e.detail.avatarUrl, // 上传图片地址
    //   name: 'file', // 上传文件的 key（后台定义的）
    //   // 上传请求需要传递的其他参数
    //   formData: {
    //     type: 'avatar'
    //   },
    //   header: {
    //     Authorization: getApp().state.token
    //   },
    //   success: (result) => {
    //     // console.log('上传结果：', result.data)
    //     const res = JSON.parse(result.data)
    //     console.log('上传结果：', res)
    //     // 提示
    //     setTimeout(() => {
    //       wx.utils.message(res.message)
    //     }, 1000);
    //     if (res.code === 1e4) {
    //       // 上传成功
    //       this.setData({
    //         'user.photo': res.data.url
    //       })
    //     } else {
    //       // 上传失败
    //       // 处理 token 过期
    //       if (res.code === 401) {
    //         // 读取当前历史栈
    //         const pageStack = getCurrentPages()
    //         // 取出当前页面路径，登录成功能跳转到该页面
    //         const currentPage = pageStack[pageStack.length - 1]
    //         wx.redirectTo({
    //           url: `/pages/login/index?redirectUrl=/${currentPage.route}`
    //         });
    //       }

    //     }

    //   },
    //   fail: () => { },
    //   complete: () => { }
    // });
    const { data } = await wx.utils.upload(e.detail.avatarUrl, { type: 'avatar' })
    this.setData({
      'user.photo': data.url
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    // 获取数据
    const user = wx.getStorageSync('user')
    // 回填
    this.setData({
      'user.name': user.nickName,
      'user.photo': user.avatar
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})